//
//  MZRouting.h
//  YiCuiMiaoZhang
//
//  Created by Sings on 2019/3/28.
//  Copyright © 2018 益萃网络科技（中国）有限公司. All rights reserved.
//

#import <Foundation/Foundation.h>

@class NavServices;
@class NetWorkingServices;
@class BaseViewModel;
@class BaseControllerViewModel;
@class BZBaseViewController;
@class BaseView;
@class BaseButton,BaseButtonModel;
NS_ASSUME_NONNULL_BEGIN

@interface MZRouting : NSObject

@property (nonatomic, strong) NavServices *navServices;

@property (nonatomic, strong) NetWorkingServices *netWorkingServices;

+ (instancetype)sharedInstance;

- (NSArray<id> *) getObjectWihtProtocol:(Protocol *) protocol;

- (Class)getTableCellClassWithViewModel:(BaseViewModel *)viewModel;

- (Class)getCollectCellClassWithViewModel:(BaseViewModel *)viewModel;

- (Class)getTableHeaderFooterWithViewModel:(BaseViewModel *)viewModel;

- (Class)getCollectionHeaderFooterWithViewModel:(BaseViewModel *)viewModel;

- (Class)getViewControllerClassWithViewModel:(BaseControllerViewModel *)viewModel;

- (Class)getDeleteViewControllerClassWithViewModel:(BaseControllerViewModel *)viewModel;

- (BZBaseViewController *)getViewControllerWithViewModel:(BaseControllerViewModel *)viewModel;

- (BaseView *)getViewWithViewModel:(BaseViewModel *)viewModel;

- (BaseButton *)getButtonWithViewModel:(BaseButtonModel *)viewModel;

- (NSDictionary *)noDeleteViewControllerDict;

@end

NS_ASSUME_NONNULL_END
